SQL 注入是一种常见的网络攻击方式:攻击者把恶意的 SQL 代码插入到应用的输入中,诱使后端数据库执行不该执行的查询,从而可能导致绕过登录、读取/篡改/删除数据,甚至进一步控制系统。它通常发生在程序把用户输入直接拼接进 SQL 语句且缺少有效防护时。
/ˌɛs kjuː ˌɛl ɪnˈdʒɛkʃən/
The developer fixed the SQL injection by using parameterized queries.
开发者通过使用参数化查询修复了 SQL 注入漏洞。
If an app concatenates user input into a query, a carefully crafted SQL injection can expose sensitive customer data and audit logs.
如果应用把用户输入拼接进查询语句,一个精心构造的 SQL 注入就可能泄露敏感的客户数据和审计日志。
“SQL”是 Structured Query Language(结构化查询语言) 的缩写;“injection”意为“注入、插入”。该术语直观描述了攻击方式:把恶意语句“注入”到原本正常的 SQL 查询中。作为安全领域术语,它在 Web 应用普及后变得广为人知,并被收录进常见漏洞分类(如 OWASP Top 10)。